combit List & Label 29 - .NET Hilfe
Einführung in die Programmierung / Weitere wichtige Konzepte / Objekte und Berichtscontainer im Designer
In diesem Thema
    Objekte und Berichtscontainer im Designer
    In diesem Thema

    Einige Objekte im Designer dienen nur der grafischen Gestaltung (z.B. Linie, Rechteck, Ellipse). Die meisten anderen Objekte interagieren aber mit den zur Verfügung gestellten Daten. Hierfür stehen z.T. eigene Datentypen zur Verfügung oder es gibt Konvertierungsfunktionen, die die Umwandlung von Inhalten erlauben, so dass diese im jeweiligen Objekt verwendet werden können. Die folgende Aufstellung gibt einen Überblick über die am häufigsten verwendeten Objekte, die zugehörigen Datentypen und Designerfunktionen zur Umwandlung von Inhalten. Die Hinweise für die Einzelobjekte gelten in gleicher oder ähnlicher Weise auch für (Bild-, Barcode-, usw.) Spalten in Tabellenelementen.

    Text

    Ein Textobjekt besteht aus mehreren Absätzen. Jeder dieser Absätze hat einen eigenen Inhalt. Dies kann entweder direkt eine Variable sein oder alternativ eine Formel, die mehrere Dateninhalte kombiniert. Für die Darstellung einzelner Variablen ist in der Regel keine spezielle Konvertierung notwendig. Sollen mehrere Variablen unterschiedlichen Typs (siehe auch Variablen, Felder und Datentypen) innerhalb einer Formel kombiniert werden, müssen die einzelnen Bestandteile auf den gleichen Datentypen (z.B. Zeichenkette) konvertiert werden. Ein Beispiel für die Kombination von Zahlen und Zeichenketten wäre:

    "Gesamtsumme: "+Str$(Sum(Article.Price),0,2)

    Die folgende Tabelle listet einige der Konvertierungsfunktionen auf, die in diesem Zusammenhang häufiger gebraucht werden: 

    Von/In Datum Zahl Bild Barcode Text
    Datum - DateToJulian - - Date$
    Zahl JulianToDate - - Barcode(Str$) FStr$
    Str$
    Bild - - - - Drawing$
    Barcode - Val(Barcode$) - - Barcode$
    Text Date Val Drawing Barcode -

    Bild

    Der Inhalt eines Bildobjekts wird über die Eigenschaftsliste bestimmt. Die Eigenschaft Datenquelle bietet die drei Werte Dateiname, Formel und Variable an:

     

    Barcode

    Der Inhalt eines Barcodeobjekts wird über einen Dialog bestimmt. Dieser bietet als Datenquelle die drei Optionen Text, Formel und Variable an:

     

    Formatierter Text (RTF)

    Der Inhalt eines RTF-Textobjekts wird über einen Dialog bestimmt. Dieser bietet unter Quelle die Optionen (freier Text) oder eine Auswahl evtl. übergebener RTF-Variablen (s.u.):

     

    HTML

    Der Inhalt eines HTML-Objekts wird über einen Dialog bestimmt. Dieser bietet als Datenquelle die drei Optionen Dateiname, URL und Formel an:

     

    Berichtscontainer

    Um eine Tabelle einzufügen verwenden Sie das Objekt "Berichtscontainer". Ein Berichtscontainer kann – wie der Name schon andeutet – mehrere Elemente enthalten. Tabellen, Kreuztabellen, Diagramme und Gantt-Diagramme können in beliebiger Abfolge eingefügt werden, auch als Unterelemente von Tabellen. Damit lassen sich Subreports und Unterberichte mit fast beliebigen Relationen zwischen Tabellen definieren. Zusätzlich zu einem Berichtscontainer kann es beliebig viele weitere Berichtscontainer und zudem auch separate Diagramme, Kreuztabellen oder Gantt-Diagramme geben.

    Damit der Berichtscontainer zur Verfügung steht, muss ein Datenprovider (siehe auch Datenprovider) als Datenquelle verwendet werden. Prinzipiell ist es auch möglich, den gesamten Druck über die low-level API-Funktionen des LlCore-Objekts selbst durchzuführen, dies ist aber nicht die empfohlene Vorgehensweise, da dann viele Features (Designervorschau, Drilldown, Berichtscontainer,...) eigens unterstützt werden müssen. Viel sinnvoller ist es, im Zweifel einen eigenen Datenprovider mit Hilfe des Interfaces IDataProvider zu schreiben.

    Alle mitgelieferten Listen-Beispiele für das .NET Framework verwenden den Berichtscontainer und liefern so Anschauungsmaterial für die verschiedenen Einsatzzwecke. Eine detaillierte Beschreibung für die Verwendung dieses Elements findet sich im Designerhandbuch im Abschnitt "Berichtscontainer einfügen".